Time sensitive learning interface

ABSTRACT

A vehicle control system is provided that is able to (i) identify a particular driver from other potential drivers and (ii) monitor various vehicle functions in order to determine if the identified driver repeatedly performs the same behavior at approximately the same time each day. When the control system determines that the identified driver repeats the same behavior in response to the same temporal conditions, the controller learns that behavior and associates it with the identified driver so that it can be automatically performed, without driver interaction, under the same temporal conditions in the future.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation-in-part of U.S. patent applicationSer. No. 14/298,998, filed 9 Jun. 2014, the disclosure of which isincorporated herein by reference for any and all purposes.

FIELD OF THE INVENTION

The present invention relates generally to a vehicle and, moreparticularly, to a system that automatically adjusts a vehicle'ssettings based on the needs and desires of each particular driver.

BACKGROUND OF THE INVENTION

Luxury vehicles offer a number of user amenities that provide the driverwith a more enriching experience, and one which attempts to cater toeach driver and their particular wants and needs. For example, many carsallow the driver to select between multiple driving modes by simplyrotating a knob or pushing a button, where each driving mode alters avariety of vehicle characteristics ranging from throttle response tosuspension set-up. Commonly used driving modes include normal, economyand sport. Another feature that has become commonplace among luxuryvehicles is the ability to preset and memorize the various aspects ofthe driver's seat, e.g., seat position, seat height, seatback incline,lumbar support, seat cushion angle and seat cushion length. Once preset,recorded in memory and assigned to a particular user, the presetsettings may be re-obtained by simply pushing a button within the car oractivating the car with a user assigned key fob. Outside mirrors andsteering wheel position may also be linked to the same memory, thusallowing the vehicle to automatically adjust the driver's seat, steeringwheel and mirror placement once a particular driver is identified.

While automatic seat positioning systems and driver selectable drivingmodes provide a user-customized vehicle interface, further improvementis desired so that each driver is provided with a unique drivingexperience that is specifically and automatically tailored to theirdriving style. The present invention provides a system that is capableof delivering this enhanced driver experience.

SUMMARY OF THE INVENTION

The present invention provides a method of automatically modifying asystem setting for a vehicle, the method comprising the steps of (i)identifying a specific driver of the vehicle from a plurality ofpotential drivers; (ii) monitoring a user-settable function of thevehicle, where the user-settable function preferably corresponds to avehicle system selected from the group consisting of an audio system, aheating, ventilation and air conditioning (HVAC) system, a vehicle modeselector system, a seat positioning system, a steering wheel positioningsystem, a light control system, a vehicle suspension positioning system,a navigation system or an auxiliary vehicle system; (iii) determining acurrent time; (iv) detecting an occurrence of the specific driveradjusting the user-settable function to a first setting; and (v)determining a time of day corresponding to the occurrence of thespecific driver adjusting the user-settable function to the firstsetting, wherein over a period of days if the specific driver adjuststhe user-settable function to the first setting more than a presetnumber of times within a preset time period inclusive of the time ofday, then the method further comprises the step of automaticallymodifying the user-settable function to the first setting each time thespecific driver is identified and the current time is within the presettime period inclusive of the time of day, where the step ofautomatically modifying the user-settable function is performed withoutinteraction between the specific driver and the user-settable function.

In one aspect, the method may include the step of requiring that eachtime the specific driver is identified and the current time is withinthe preset time period, the specific driver must adjust theuser-settable function to the first setting; if the specific driver doesnot consistently adjust the user-settable function to the first settingeach time the current time is within the preset time period then thestep of automatically modifying the user-settable function is at leasttemporarily suspended.

In another aspect, the method may include the step of requesting driverconfirmation prior to performing the step of automatically modifying theuser-settable function to the first setting each time the specificdriver is identified and the current time is within the preset timeperiod. Preferably, if a positive response to the driver confirmationrequest is not received, the step of automatically modifying theuser-settable function to the first setting each time the specificdriver is identified and the current time is within the preset timeperiod is not performed.

In another aspect, the step of automatically modifying the user-settablefunction to the first setting may further include the steps of (i)recording in memory the first setting and the time of day, and (ii)associating the first setting and the time of day with the specificdriver. The method may further include the step of requesting driverconfirmation prior to performing the steps of recording the firstsetting and the time of day in memory, associating the first setting andthe time of day with the specific driver, and automatically modifyingthe user-settable function to the first setting each time the specificdriver is identified and the current time is within the preset timeperiod. Preferably, if a positive response to the driver confirmationrequest is not received, the steps of recording the first setting andthe time of day in memory, associating the first setting and the time ofday with the specific driver, and automatically modifying theuser-settable function to the first setting each time the specificdriver is identified and the current time is within the preset timeperiod are not performed.

In another aspect, if the specific driver adjusts the user-settablefunction from the first setting to a second setting after theuser-settable function has been automatically modified to the firstsetting and while the current time is still within the preset timeperiod, then the step of automatically modifying the user-settablefunction may be at least temporarily suspended. The suspending step maybe performed until the specific driver repeats the step of adjusting theuser-settable function to the first setting more than the preset numberof times when the current time is within the preset time period.

In another aspect, if the specific driver adjusts the user-settablefunction from the first setting to a second setting within a presetlength of time of the step in which the user-settable function has beenautomatically modified to the first setting, then the step ofautomatically modifying the user-settable function may be at leasttemporarily suspended. The suspending step may be performed until thespecific driver repeats the step of adjusting the user-settable functionto the first setting more than the preset number of times when thecurrent time is within the preset time period.

In another aspect, the step of identifying the specific driver of thevehicle may be performed when a remote device is plugged into anon-board port coupled to an on-board system controller, where the remotedevice is physically separate and independent of the vehicle;alternately, when a remote device within a preset range of the vehicleis detected and a short range link is established between the remotedevice and an on-board system controller, where the step of identifyingthe specific driver is performed automatically when the short range linkis established between the remote device and the on-board systemcontroller, and where the remote device is physically separate andindependent of the vehicle; alternately, using an on-board driveridentification system, for example an on-board driver identificationsystem selected from the group consisting of a fingerprint scanner, aface recognition system, a voice recognition system, a weight-basedidentification system, a voice-controlled user interface, and atouch-controlled user interface.

In another aspect, the step of monitoring the user-settable function mayfurther comprise the step of selecting the user-settable function from aplurality of user-adjustable vehicle functions, where the step ofselecting the user-settable function is performed by the specificdriver. If the specific driver does not perform the step of selectingthe user-settable function from the plurality of user-adjustable vehiclefunctions, then an on-board system controller may set a default functionas the user-settable function.

In another aspect, the method may further comprise the step ofdetermining if the specific driver is a first time driver of thevehicle, wherein if the specific driver is a first time driver of thevehicle then the step of monitoring the user-settable function furthercomprises the step of selecting the user-settable function from aplurality of user-adjustable vehicle functions, where the step ofselecting the user-settable function is performed by the specificdriver. If the specific driver does not perform the step of selectingthe user-settable function from the plurality of user-adjustable vehiclefunctions, then an on-board system controller may set a default functionas the user-settable function. If the specific driver is not a firsttime driver of the vehicle then the step of monitoring the user-settablefunction may further comprise the step of determining if the specificdriver pre-selected the user-settable function from the plurality ofuser-adjustable vehicle functions, wherein an on-board system controllersets a default function as the user-settable function if the specificdriver did not pre-select the user-settable function.

A further understanding of the nature and advantages of the presentinvention may be realized by reference to the remaining portions of thespecification and the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

It should be understood that the accompanying figures are only meant toillustrate, not limit, the scope of the invention and should not beconsidered to be to scale. Additionally, the same reference label ondifferent figures should be understood to refer to the same component ora component of similar functionality.

FIG. 1 provides a system level diagram of the primary vehicle systemsutilized in at least one embodiment of the invention;

FIG. 2 illustrates the basic methodology of the invention in accordancewith a preferred embodiment;

FIG. 3 illustrates a modification of the basic methodology shown in FIG.2;

FIG. 4 illustrates another modification of the basic methodology shownin FIG. 2; and

FIG. 5 illustrates another modification of the basic methodology shownin FIG. 2.

DESCRIPTION OF THE SPECIFIC EMBODIMENTS

As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. The terms “comprises”, “comprising”, “includes”, and/or“including”, as used herein, specify the presence of stated features,process steps, operations, elements, and/or components, but do notpreclude the presence or addition of one or more other features, processsteps, operations, elements, components, and/or groups thereof. As usedherein, the term “and/or” and the symbol “/” are meant to include anyand all combinations of one or more of the associated listed items.Additionally, while the terms first, second, etc. may be used herein todescribe various steps, calculations, or components, these steps,calculations, or components should not be limited by these terms, ratherthese terms are only used to distinguish one step, calculation, orcomponent from another. For example, a first calculation could be termeda second calculation, and, similarly, a first step could be termed asecond step, and, similarly, a first component could be termed a secondcomponent, without departing from the scope of this disclosure. Theterms “electric vehicle” and “EV” may be used interchangeably and referto an all-electric vehicle.

FIG. 1 is a high-level view of a vehicle 100 and the primary systemsused in the behavior learning system of the invention. Vehicle 100 maybe an electric vehicle (EV), a vehicle utilizing an internal combustionengine (ICE), or a hybrid vehicle, where a hybrid vehicle utilizesmultiple sources of propulsion including an electric drive system.Vehicle 100 includes a vehicle system controller 101, also referred toherein as a vehicle management system, which is comprised of a centralprocessing unit (CPU). System controller 101 also includes memory 103,with memory 103 being comprised of EPROM, EEPROM, flash memory, RAM,solid state drive, hard disk drive, or any other type of memory orcombination of memory types. A user interface 105 is coupled to vehiclemanagement system 101. Interface 105 allows the driver, or a passenger,to interact with the vehicle management system, for example inputtingdata into the navigation system, altering the heating, ventilation andair conditioning (HVAC) system, controlling the vehicle's entertainmentsystem (e.g., radio, CD/DVD player, etc.), adjusting vehicle settings(e.g., seat positions, light controls, etc.), and/or otherwise alteringthe functionality of vehicle 100. In at least some embodiments,interface 105 also includes means for the vehicle management system toprovide information to the driver and/or passenger, information such asa navigation map or driving instructions as well as the operatingperformance of any of a variety of vehicle systems (e.g., battery packcharge level for an EV, fuel level for an ICE-based or hybrid vehicle,selected gear, current entertainment system settings such as volumelevel and selected track information, external light settings, currentvehicle speed, current HVAC settings such as cabin temperature and/orfan settings, etc.). Interface 105 may also be used to warn the driverof a vehicle condition (e.g., low battery charge level or low fuellevel) and/or communicate an operating system malfunction (batterysystem not charging properly, low oil pressure for an ICE-based vehicle,low tire air pressure, etc.). Interface 105 may be comprised of a singleinterface, for example a touch-screen display, or a combination of userinterfaces such as push-button switches, capacitive switches, slide ortoggle switches, gauges, display screens, warning lights, audiblewarning signals, etc. It will be appreciated that if user interface 105includes a graphical display, controller 101 may also include agraphical processing unit (GPU), with the GPU being either separate fromor contained on the same chip set as the CPU.

Vehicle 100 includes a drive train 107 that may be comprised of aninternal combustion engine, one or more motors, or a combination ofboth. The vehicle's drive system may be mechanically coupled to thefront axle/wheels, the rear axle/wheels, or both, and may utilize any ofa variety of transmission types (e.g., single speed, multi-speed) anddifferential types (e.g., open, locked, limited slip).

In accordance with the invention, when system controller 101 determinesthat a particular driver repeatedly performs the same behavior at thesame time each day, or the same day of the week, or at the samelocation, or in response to the same conditions or events, the systemcontroller ‘learns’ that behavior so that it can be automaticallyperformed when the same conditions arise in the future for the samedriver. As described in detail below, this methodology can be used tolearn any of a variety of different driver responses, ranging frominitial settings when the driver first enters the car to a particulardriver's reaction to changing conditions.

FIG. 2 illustrates the basic methodology of the invention. Initially thedriver is identified by vehicle controller 101 (step 201). Driveridentification may be obtained in a variety of ways. In at least oneembodiment, the system is only configured to allow the driver to beidentified using a single technique, while in other embodiments thesystem is configured to allow the controller to determine the driver'sidentification using any of a variety of techniques. In one technique,when the user comes into close proximity to the vehicle (step 203), forexample by entering and sitting in the vehicle, a short range link isestablished (step 205) between the vehicle's communication link 109 anda user device 110. User device 110 provides a unique signature for eachdriver, thereby allowing the driver to be identified. Typical devices110 include the driver's key fob or a smartphone, although other devicesthat provide a unique user identifier may also be used to identify thedriver. The wireless technology can use a radio-frequency identification(RFID) system, Bluetooth wireless technology, or a similar short rangewireless technology. In an alternate technique, when the user plugstheir smartphone or other compatible device 110 into an on-board port111 such as a USB, Thunderbolt or other I/O interface port, the systemidentifies the user via a unique identifier associated with theplugged-in device (step 207). In an alternate technique, controller 101is coupled to an on-board driver identification system 113 and uses thissystem to identify the driver (step 209). On-board driver ID system 113may use a simple driver selector, such as a series of buttons thatidentify “Driver 1”, “Driver 2”, etc. Alternately, ID system 113 may usea fingerprint scanner, similar to the scanner used in some smartphonesand laptop computers. Alternately, ID system 113 may use facerecognition or voice recognition to identify the driver. Alternately,the driver can identify themselves by entering a command, either viatouch or voice, through user interface 105. Alternately, ID system 113may use weight sensors located in the driver's seat to determine theweight, or perceived weight, of the driver, which is then used by system113 to identify the driver. Note that if a weight-based ID system isused, once a driver is identified their weight is tracked, thus allowingID system 113 to continue to track an identified driver as their weightvaries with time.

Once system controller 101 has identified the current driver, the systemmonitors various vehicle functions for any changes in the function'ssettings (step 211). As discussed below, controller 101 may beconfigured to monitor any of a variety of vehicle systems, for examplethe vehicle's audio system, the heating, ventilation and airconditioning (HVAC) system, a vehicle mode selector system, a seatpositioning system, a steering wheel positioning system, a light controlsystem (e.g., internal lighting, external lighting), a vehiclesuspension positioning system, the vehicle's navigation system, or anauxiliary vehicle system (e.g., garage door controller, charge port doorcontroller, fuel door controller, etc.).

After a change in a monitored vehicle systems is observed (step 213),then the controller determines if the identified driver previously madethe same change under the same conditions (step 215). The number oftimes that a driver must repeat a behavior before it is learned ispreset. Typically the value input for this preset number is set by themanufacturer, although in some embodiments it may be preset by thedriver, or by the vehicle's owner, or by a third party (e.g., a servicetechnician). In general, the system is configured to only learn behaviorwhen it is clear that the behavior is truly repetitive, while stillinsuring that the vehicle adapts quickly. Preferably the value used instep 215 is set between two and five. In at least one embodiment, theidentified driver must repeat the behavior every time that theconditions are the same in order for the controller to learn thebehavior. In other embodiments the controller determines whether theobserved behavior has been repeated with a certain frequency, e.g., outof 10 times in which the same conditions were present, the identifieddriver must perform the same change to the monitored vehicle function atleast 8 times in order for the controller to learn the behavior.

If the observed behavior has not been repeated more than the presetvalue used in step 215 (step 217), then the system returns to simplymonitoring vehicle conditions (step 211). If the observed behavior hasbeen repeated more than the preset value used in step 215 (step 219),then the system controller memorizes the observed response as well asthe conditions at the time of the response, i.e., time of day, timesince vehicle activation, vehicle location, ambient conditions (e.g.,ambient temperature, air quality, ambient sound level, ambient lightlevel, etc.), traffic conditions, etc. (step 221). From that point on,when the system identifies that particular driver, the system willautomatically perform the observed driver response when the sameconditions are observed (step 223).

FIG. 3 illustrates a slight modification of the methodology shown inFIG. 2. In this process, once an observed behavior for a particulardriver has been repeated more than the preset value used in step 215(step 219), then the system controller requests confirmation that thedriver wishes to automatically perform the observed response each timethe same conditions arise (step 301). Preferably driver confirmation isrequested via user interface 105. If the driver indicates that theobserved response should not be memorized and automatically performed inthe future (step 303), then the system returns to monitoring vehicleconditions (step 211). If the driver confirms (step 305) that theresponse should be automatically performed in the future, then thesystem controller memorizes the observed response as well as theconditions at the time of the response (step 221) and automaticallyperforms the observed driver response when the same conditions areobserved (step 223).

FIG. 4 illustrates another modification of the basic methodology shownin FIG. 2 that provides the driver with an easy way of over-riding theautomatic response. Because this approach provides an over-ride feature(step 401), it is expected that it would be used in an embodiment thatdoes not include driver confirmation step 301, although it could be usedwith an embodiment such as that shown in FIG. 3, thus providing thedriver both with a confirmation step (step 301) and an over-ride feature(step 401). As shown in FIG. 4, after a driver response is memorized(step 221) and performed (step 223), if the driver then alters theirresponse under the same conditions (step 403) the controller 101 deletesthe memorized response and returns the system to the default responsefor that driver under those conditions (step 405). If the driver doesnot alter their response (step 407), then their inaction is taken as animplicit approval of the modified response memorized in step 221.

FIG. 5 illustrates another modification of the basic methodology shownin FIG. 2 that allows a driver to preset the vehicle functions to bemonitored in step 211 and potentially altered and recorded in step 221.Although this aspect of the invention is illustrated using the basicmethodology of FIG. 2, it should be understood that any of theembodiments of the invention may be modified to allow drivers to selectthe functions which they wish to be monitored and potentially altered.

It will be appreciated that there are several ways in which the drivercan be allowed to preset the functions to be monitored. For example,when a driver is first identified (step 201) using any of the techniquesdescribed above (e.g., relative to steps 203-209), system controller 101determines whether the identified driver is a first time user of thevehicle (step 501) or a driver that has been previously identified bythe system (step 503). If the driver is new (step 501), then the systemcontroller requests via interface 105 that the new driver input initialsystem settings (step 505). At a minimum, the initial system settingsinclude a selection of which vehicle functions the driver wants thesystem to monitor in order to potentially learn that particular driver'sresponses to specific conditions. The driver may also be asked to inputthe number of times that a behavior must be repeated in step 215 beforeit is to be learned. As described in further detail below, typicalvehicle functions from which the driver may select include theentertainment system, HVAC, lights, drive mode, seat and steering wheelsettings, mirror settings, charging system (for an EV), as well asvarious vehicle auxiliary controls (e.g., garage door opener). Thedriver may choose not to preselect the functions to be monitored (step507), and instead simply use the vehicle's default settings (step 509).The new driver may also choose to preselect the functions to bemonitored (step 511), at which point the driver would be presented withthose functions that the vehicle is capable of monitoring. The driverwould then select those functions of interest (step 513).

As it would be both time consuming and somewhat annoying if thecontroller asked every driver to input initial system settings each timethey wanted to drive the car, preferably the controller distinguishesbetween those drivers that are new to the system (step 501) and thosedrivers that have been previously identified by the controller (step503). For those drivers that are known by the system (step 503), thecontroller determines whether or not the identified driver hadpreviously preselected the functions to be monitored (step 515). If theidentified driver had not previously preselected the functions to bemonitored (step 517), the system applies the vehicle's default settings(step 519). If the identified driver had previously preselected thefunctions to be monitored (step 521), then the controller applies thedriver's presets (step 523). In step 211, the controller monitors thevehicle functions, either the default functions or those selected by thedriver, for changes (step 211).

While the methodology applied by the invention has been described aboverelative to FIGS. 2-5, some specific examples are provided below, thushelping to illustrate the application of the invention to known vehiclefunctions. It should be understood that these exemplary applications ofthe invention may utilize any of the approaches described above.Further, these exemplary applications are only meant to illustrate theinvention, not limit its application to these specific vehiclefunctions.

Drivers often alter various vehicle settings, either when they firstenter the car or while driving, in order to vary the car to match theirphysical characteristics, their driving style and/or their environmentalpreferences. Accordingly, in at least one embodiment of the inventionsystem controller 101 monitors various vehicle functions that the drivermay use to enhance the fit of the car to their own physicalcharacteristics, such as seat position (e.g., seat position, seatheight, seatback incline, lumbar support, seat cushion angle and seatcushion length) using seat controller 115 and steering wheel positionusing an auxiliary vehicle system controller 117. Preferably, the systemcontroller 101 also monitors a driving mode selector 119 which is usedto control performance characteristics of the vehicle (e.g., economy,sport, normal). System controller 101 may also monitor suspensioncharacteristics using an auxiliary vehicle system 117, assuming that thesuspension is user adjustable. Preferably, system controller 101 alsomonitors those aspects of the vehicle which are often varied by the userin order to match his or her environmental preferences, for examplesetting the thermostat temperature or the recirculation controls of theHVAC system using HVAC controller 121, and/or setting the radiostation/volume level of the audio system using controller 123, and/orsetting the lights, either internal lighting or external lighting, usingcontroller 131. Assuming that an identified driver makes the sameadjustments to one or more of the systems monitored in step 211 morethan once (and more than the preset number used in step 215), and withina preset period of time upon activating the car (as determined byinternal clock 125), then the controller would record those settings inmemory (step 221) and apply them immediately when the same driver wasidentified (step 223).

As previously described, in order to learn a behavior the systemcontroller must identify a particular driver and determine that theidentified driver performs the same behavior more than a preset numberof times in response to a certain condition (e.g., a specific time ofday, vehicle location, or event). In some embodiments the behavior mustbe consistently repeated each time a certain event occurs, while inother embodiments the behavior must simply be repeated with a certainfrequency, i.e., more often than not. In some cases the event to whichthe monitored behavior corresponds is a timing event, such as making avariety of vehicle adjustments upon entering the car (i.e., within apreset period of time of vehicle entry). It will be appreciated thatother timing events may be used by controller 101. For example, duringtheir morning commute a particular driver may tune the radio, viacontroller 123, to a particular station at 8:00 AM in order to listen toa particular program (e.g., news broadcast, traffic alerts, financialnews, etc.). In accordance with the invention, controller 101 may beused to learn that particular driver's radio listening schedule and thenwhen that driver is identified, to automatically tune to that particularstation at the same time each day (e.g., at 8:00 AM), or at the sametime of day and on the same days of the week (e.g., at 8:00 AM onMonday-Friday, but not Saturday or Sunday).

Preferably when the controller is learning a particular driver behaviorand determining whether or not a particular driver is repeating thatbehavior at a particular time of day, of at a particular time of day andfor a particular day of the week, the controller monitors for behaviorwithin a preset time period that is inclusive of the time of day inwhich the behavior was observed, rather than monitoring for the samebehavior at the exact same time each day. The system may be configuredto allow the length of the preset time period to be set by the vehiclemanufacturer, the driver, or a third party. Thus in the above example,and assuming that the preset time period is set to 4 minutes (e.g., 2minutes before the observed event and 2 minutes after the observedevent), then in order to determine if the driver is performing the samebehavior on multiple days (or specific days of the week), the controllerwould monitor for the driver making the same change to the radio stationat any time between 7:58 AM and 8:02 AM, viewing performance of the samebehavior within this time window as being equivalent. Additionally, andas noted above, besides monitoring for behavior at a particular time ofday, the system may be configured to distinguish between weekdays andweekends, or to distinguish between the days of the week, thus allowingcontroller 101 to learn alternate behaviors for different days of theweek or weekdays versus weekends.

In addition to learning driver behavior that relates to a specific timeof day, controller may also learn repetitive behavior that occurs eachtime that the vehicle is at, or within a preset distance of, aparticular coordinate as determined by controller 101 using globalpositioning system (GPS) 129. For example, each time the vehicle is ator near a coordinate that corresponds to the driver's home, the drivermay open the garage using an auxiliary system controller 117. Bylearning this behavior, controller can automatically program itself toopen the garage door when the car arrives at home. Similarly, assumingthat the vehicle is an EV, the car may always charge the battery at thesame two locations, one corresponding to the driver's home location andthe other corresponding to the driver's work location. Controller maylearn that each time that the driver reaches one of these two locationsthe door that covers the charging port is opened. Controller can learnthis behavior and always open the charge port door when the driverarrives at home or at work. The vehicle's lights 131 offer anotherexample of a function that may be learned based on location. Forexample, the driver may always turn on their driving lights when theypass through a tunnel. By noting this behavior, i.e., temporarilyturning on the lights while driving between a first location and asecond location, controller 101 can learn this behavior andautomatically turn on the lights whenever the identified driver passesthrough that same tunnel.

In addition to learning driver behavior that relates to a specific timeof day or a specific location, controller 101 may also learn repetitivebehavior that occurs in response to a particular event or condition. Forexample, controller 101 may monitor exterior temperature using anambient environmental sensor 133. If the driver always lowers theinternal temperature to 65° F. when the external temperature is 95° F.,then the controller can learn this behavior and always lower the to 65°F. when the external temperature is 95° F. and the identified driver isdriving. Similarly, controller may monitor exterior light levels inorder to observe when a particular driver turns on or off their lights;or monitor exterior sound levels in order to observe when a particulardriver increases the volume level on the audio system in order to maskthe ambient sound level. Besides using on-board sensors, controller 101may also use data received from an external on-line source that iscoupled to the controller via communication link 109 (using, forexample, GSM, EDGE, UMTS, CDMA, DECT, WiFi, WiMax, etc.). For example,by monitoring air quality (e.g., smog, smoke pollution, pollen count)using an on-line weather service 135 or an on-line data base 137,controller 101 can correlate the user turning on air recirculation withan external event (e.g., high pollen count, low air quality, etc.), andthereafter repeat the learned behavior whenever the same air qualityissue is detected.

Systems and methods have been described in general terms as an aid tounderstanding details of the invention. In some instances, well-knownstructures, materials, and/or operations have not been specificallyshown or described in detail to avoid obscuring aspects of theinvention. In other instances, specific details have been given in orderto provide a thorough understanding of the invention. One skilled in therelevant art will recognize that the invention may be embodied in otherspecific forms, for example to adapt to a particular system or apparatusor situation or material or component, without departing from the spiritor essential characteristics thereof. Therefore the disclosures anddescriptions herein are intended to be illustrative, but not limiting,of the scope of the invention.

What is claimed is:
 1. A method of automatically modifying a systemsetting for a vehicle utilizing an on-board system controller, saidon-board system controller comprising a central processing unit (CPU)and a memory, the method comprising the steps of: identifying a specificdriver of said vehicle from a plurality of potential drivers, whereinsaid on-board system controller performs said identifying step;monitoring a plurality of user-settable functions corresponding to aplurality of vehicle systems, wherein said on-board system controller isconfigured to monitor said plurality of vehicle systems and saidplurality of user-settable functions, wherein said plurality of vehiclesystems are selected from the group consisting of an audio system, aheating, ventilation and air conditioning (HVAC) system, a vehicle modeselector system, a seat positioning system, a steering wheel positioningsystem, a light control system, a vehicle suspension system and anavigation system; determining a current time; detecting an occurrenceof said specific driver adjusting a specific function of said pluralityof user-settable functions to a first setting, wherein said on-boardsystem controller performs said detecting step; and determining aspecific time of day corresponding to said occurrence of said specificdriver adjusting said specific function of said plurality ofuser-settable functions to said first setting; determining a time periodthat is inclusive of said specific time of day, wherein a length of timecorresponding to said time period is preset, wherein over a period ofdays if said specific driver adjusts said specific function of saidplurality of user-settable functions to said first setting each timesaid current time is within said time period then the method furthercomprises the step of: automatically modifying said specific function ofsaid plurality of user-settable functions to said first setting eachtime said specific driver is identified and said current time is withinsaid time period, wherein said step of automatically modifying saidspecific function of said plurality of user-settable functions isperformed by said on-board system controller.
 2. The method of claim 1,wherein said specific driver must adjust said specific function of saidplurality of user-settable functions to said first setting each timesaid specific driver is identified and said current time is within saidtime period, wherein if said specific driver does not consistentlyadjust said specific function of said plurality of user-settablefunctions to said first setting each time said current time is withinsaid time period then said method at least temporarily suspends saidstep of automatically modifying said specific function of said pluralityof user-settable functions.
 3. The method of claim 1, further comprisingthe step of requesting driver confirmation prior to performing said stepof automatically modifying said specific function of said plurality ofuser-settable functions to said first setting each time said specificdriver is identified and said current time is within said time period,wherein said on-board system controller performs said step of requestingdriver confirmation.
 4. The method of claim 3, wherein if a positiveresponse is not received to said step of requesting driver confirmation,said method does not perform said step of automatically modifying saidspecific function of said plurality of user-settable functions to saidfirst setting each time said specific driver is identified and saidcurrent time is within said time period.
 5. The method of claim 1,wherein said step of automatically modifying said specific function ofsaid plurality of user-settable functions to said first setting furthercomprises the steps of: recording in said memory said first setting andsaid time period; and associating said first setting and said timeperiod with said specific driver.
 6. The method of claim 5, furthercomprising the step of requesting driver confirmation prior toperforming said steps of recording in said memory said first setting andsaid time period, associating said first setting and said time period ofday with said specific driver, and automatically modifying said specificfunction of said plurality of user-settable functions to said firstsetting each time said specific driver is identified and said currenttime is within said time period, wherein said on-board system controllerperforms said step of requesting driver confirmation.
 7. The method ofclaim 6, wherein if a positive response is not received to said step ofrequesting driver confirmation, said method does not perform said stepsof recording in said memory said first setting and said time period,associating said first setting and said time period with said specificdriver, and automatically modifying said specific function of saidplurality of user-settable functions to said first setting each timesaid specific driver is identified and said current time is within saidtime period.
 8. The method of claim 1, wherein if after said step ofautomatically modifying said specific function of said plurality ofuser-settable functions to said first setting said specific driveradjusts said specific function of said plurality of user-settablefunctions from said first setting to a second setting while said currenttime is still within said time period then said method further comprisesthe step of at least temporarily suspending said step of automaticallymodifying said specific function of said plurality of user-settablefunctions to said first setting.
 9. The method of claim 8, wherein saidsuspending step is performed until said specific driver repeats saidstep of adjusting said specific function of said plurality ofuser-settable functions to said first setting more than a preset numberof times within said time period over a subsequent period of days. 10.The method of claim 1, wherein if said specific driver adjusts saidspecific function of said plurality of user-settable functions from saidfirst setting to a second setting within a preset length of time of saidstep of automatically modifying said specific function of said pluralityof user-settable functions to said first setting then said methodfurther comprises the step of at least temporarily suspending said stepof automatically modifying said specific function of said plurality ofuser-settable functions to said first setting.
 11. The method of claim10, wherein said suspending step is performed until said specific driverrepeats said step of adjusting said specific function of said pluralityof user-settable functions to first setting more than a preset number oftimes within said time period over a subsequent period of days.
 12. Themethod of claim 1, wherein said step of identifying said specific driverof said vehicle step is performed when a remote device is plugged intoan on-board port coupled to said on-board system controller, whereinsaid remote device is physically separate and independent of saidvehicle.
 13. The method of claim 1, said step of identifying saidspecific driver of said vehicle step further comprising the steps of:detecting a remote device when said remote device is within a presetrange of said vehicle, wherein said on-board system controller performssaid step of detecting said user device; and establishing a short rangelink between said remote device and said on-board system controllerafter said remote device is detected, wherein said step of identifyingsaid specific driver is performed automatically by said on-board systemcontroller when said short range link is established between said remotedevice and said on-board system controller, wherein said remote deviceis physically separate and independent of said vehicle.
 14. The methodof claim 1, wherein said step of identifying said specific driver ofsaid vehicle step is performed using an on-board driver identificationsystem coupled to said on-board system controller, wherein said on-boarddriver identification system is selected from the group consisting of afingerprint scanner, a face recognition system, a voice recognitionsystem, a weight-based identification system, a voice-controlled userinterface, and a touch-controlled user interface.